wayland: Map UTILITY hinted popup windows as subsurfaces
authorJonas Ådahl <jadahl@gmail.com>
Sun, 18 Oct 2015 13:21:51 +0000 (21:21 +0800)
committerJonas Ådahl <jadahl@gmail.com>
Tue, 27 Oct 2015 00:41:02 +0000 (08:41 +0800)
Currently used by GtkTreeView to map windows without changing focus. We
can't map this as a popup, because popup implies focus change.

https://bugzilla.gnome.org/show_bug.cgi?id=756780

gdk/wayland/gdkwindow-wayland.c

index ce4c8fef9f785be081b6a3def9a9525d332117f2..855516fc1d81f9358c869646e9b8d30c57781024 100644 (file)
@@ -1231,6 +1231,11 @@ should_map_as_subsurface (GdkWindow *window)
     case GDK_WINDOW_TYPE_HINT_TOOLTIP:
       return TRUE;
 
+    case GDK_WINDOW_TYPE_HINT_UTILITY:
+      if (gtk_window_get_window_type (window) == GTK_WINDOW_POPUP)
+        return TRUE;
+      break;
+
     default:
       break;
     }
@@ -1247,10 +1252,14 @@ should_map_as_popup (GdkWindow *window)
     {
     case GDK_WINDOW_TYPE_HINT_POPUP_MENU:
     case GDK_WINDOW_TYPE_HINT_DROPDOWN_MENU:
-    case GDK_WINDOW_TYPE_HINT_UTILITY:
     case GDK_WINDOW_TYPE_HINT_COMBO:
       return TRUE;
 
+    case GDK_WINDOW_TYPE_HINT_UTILITY:
+      if (gtk_window_get_window_type (window) != GTK_WINDOW_POPUP)
+        return TRUE;
+      break;
+
     default:
       break;
     }